Skip to content

Implement exponential backoff with jitter for reconnections - #3

Open
graygnuorg wants to merge 2 commits into
ajobs:masterfrom
graygnuorg:master
Open

Implement exponential backoff with jitter for reconnections#3
graygnuorg wants to merge 2 commits into
ajobs:masterfrom
graygnuorg:master

Conversation

@graygnuorg

Copy link
Copy Markdown

If the XMPP server goes down, nagibot enters an endless loop trying to reconnect, failing and retrying again. This needlessly consumes the machine's resources and generates an enormous amount of logs. This patch implements the exponential backoff with jitter strategy to control the interval between two insuccessful reconnection attempts. This allows nagibot to reconnect in time without producing extra load and mitigates eventual impact on the XMPP server when many nagibots are trying to connect to it.

For the sake of readability the request is composed of two distinct commits: the first one replaces the "goto" loop with an
"until" loop, and the second one contains the main changes.

This avoids eating up system resources if the XMPP server is down and
limits initial impact on it when it gets up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant